Nonvolatile memory is computer memory capable of retaining the stored information even when unpowered. Non-volatile memory is typically used for the task of secondary storage or long-term persistent storage and may be used in addition to volatile memory, which losses the stored information when unpowered. Nonvolatile memory can be permanently integrated into computer systems (e.g., solid state hard drives) or can take the form of removable and easily transportable memory cards (e.g., USB flash drives). Nonvolatile memory is becoming more popular because of its small size/high density, low power consumption, fast read and write rates, retention, and other characteristics.
Flash memory is a common type of nonvolatile memory because of its high density and low fabrication costs. Flash memory is a transistor-based memory device that uses multiple gates per transistor and quantum tunneling for storing the information on its memory device. Flash memory uses a block-access architecture that can result in long access, erase, and write times. Flash memory also suffers from low endurance, high power consumption, and scaling limitations.
The constantly increasing speed of electronic devices and storage demand drive new requirements for nonvolatile memory. For example, nonvolatile memory is expected to replace hard drives in some computer systems. However, transistor-based flash memory is often inadequate to meet the requirements of various applications. New types of memory, such as resistive random access memory (ReRAM), are being developed to meet these demands and requirements.